特定のEC2のインスタンスタイプを変更できる、IAMポリシーに設定するアクションを教えてください。

特定のEC2のインスタンスタイプを変更できる、IAMポリシーに設定するアクションを教えてください。

Clock Icon2025.01.17

困っていた内容

特定のEC2のインスタンスタイプを変更できる、IAMポリシーに設定するアクションを教えてください。

どう対応すればいいの?

インスタンスタイプを変更するには、主に以下の2つのアクションを許可する必要があります。

  • ec2:DescribeInstanceTypesアクション
  • ec2:ModifyInstanceAttributeアクション(条件として"ec2:Attribute": "InstanceType"を設定)
    また、ec2:ModifyInstanceAttributeアクションのResourceで、変更対象のEC2インスタンスのARNを指定する必要があります。
ポリシー例
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeInstanceTypes",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:ModifyInstanceAttribute",
            "Resource": "arn:aws:ec2:ap-northeast-1:アカウントID:instance/インスタンスID", //アカウントIDとインスタンスIDを自身の環境のIDに置き換える
            "Condition": {
                "StringEquals": {
                    "ec2:Attribute": "InstanceType"
                }
            }
        }
    ]
}

また、マネジメントコンソール上からインスタンスタイプの変更を実施する際は、EC2が停止状態であるといった注意点があるため、上記のポリシーのみでは十分な操作ができないことが考えられます。「ec2:StopInstances」や「ec2:StartInstances」、「ec2:DescribeInstances」を含むことで実現できると考えられます。。

  • マネジメントコンソールの場合
    EC2ダッシュボードから該当インスタンスを選択し、[アクション] > [インスタンスの設定] > [インスタンスタイプの変更] を選択します。
    image.png

  • CLIの場合の変更方法

CLI例
aws ec2 modify-instance-attribute --instance-id i-xxxxxxxxxxx --instance-type インスタンスタイプ

参考情報

Amazon EC2 のアクション、リソース、および条件キー

ModifyInstanceAttribute

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.